package com.shujia

import java.io.File

import scala.io.Source

object Demo28Implicit {
  def main(args: Array[String]): Unit = {

    /**
      * 隐式转换类
      *
      */

    val file: File = new File("scala/data/students.txt")

    //file 自动被转换成了Read
    val list: List[String] = file.read()

    println(list)

  }

  /**
    * 定义隐式转换类
    *
    * 可以隐式将FIle的对象转换成Read的对象
    *
    * 所在file里卖弄就有read方法了
    *
    *
    * 隐式转换类需要定义在Object中
    *
    */
  implicit class Read(file: File) {

    def read(): List[String] = {
      Source.fromFile(file).getLines().toList
    }

  }

}


